iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 22
0

在上一篇中我們已經把服務部署完成,接下來我們要進一步來設定對外IP。

Service的類型LoadBalancer

建立地區静態IP
https://ithelp.ithome.com.tw/upload/images/20200928/20129762dsfMyYCcGH.png

建立完成後,在loadBalancerIP帶入靜態IPYOUR-IP

# service_hs_exter.yaml
apiVersion: v1
kind: Service
metadata:
  name: hs-exter
  namespace: dev-ithome
spec:
  type: LoadBalancer
  loadBalancerIP: "YOUR-IP" 
  ports:
  - name: http
    port: 8080
    targetPort: 8080
    protocol: TCP
  selector:
    app: hs
kubectl -n dev-ithome get svc
NAME       TYPE           CLUSTER-IP    EXTERNAL-IP      PORT(S)        AGE
gs         ClusterIP      10.229.4.49   <none>           8081/TCP       15m
hs-exter   LoadBalancer   10.229.2.25   x.x.x.x          80:32754/TCP   2m13s

完成後就可以,透過外網IP連到服務

Ingress

使用Ingress静態IP,需要先建立二個資源:

  1. 類型為 type: NodePort或LoadBalancer的Service
  2. 需要先全域静態IP

執行下列指令,建立全域静態IP

gcloud compute addresses create test-static-ip --global

查看建立的IP

gcloud compute addresses describe test-static-ip --global
# service_ingress_hs.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: hs-ingress
  namespace: dev-ithome  
  annotations:
    kubernetes.io/ingress.global-static-ip-name: test-static-ip
spec:
  rules:
  - host: xxx.xxx.xxx
    http:
      paths:
      - backend:
          serviceName: hs-backend
          servicePort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: hs-backend
  namespace: dev-ithome
spec:
  type: NodePort
  ports:
  - name: http
    port: 80
    targetPort: 8080
    protocol: TCP 
  selector:
    app: hs

上一篇
Day21 GKE實戰(1)
下一篇
Day23 k8s監控 (1)
系列文
微服務系統建置與監控30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言